Carlos Garnacho [Sat, 23 May 2015 13:57:41 +0000 (15:57 +0200)]
scrolledwindow: Trigger builtin kinetic deceleration on libinput devices
The libinput driver will send a 0/0 scroll event on touchpads and other
devices where it knows scrolling stopped for sure. Use these events to
trigger kinetic scrolling from there.
The mechanism is similar to GtkGestureSwipe, we keep a backlog of the
latest dx/dy till a previous point in time, and calculate the final
velocities from there, with the difference we're dealing with scroll
units, and not pixel distances.
https://bugzilla.gnome.org/show_bug.cgi?id=749770
Carlos Garnacho [Sat, 23 May 2015 13:51:11 +0000 (15:51 +0200)]
scrolledwindow: Refactor scroll unit guessing into a separate function
Makes it clearer, and will be used in further places.
https://bugzilla.gnome.org/show_bug.cgi?id=749770
Jordi Mas [Sun, 24 May 2015 12:16:58 +0000 (14:16 +0200)]
Fixes to Catalan translation
Carlos Garnacho [Fri, 22 May 2015 18:52:17 +0000 (20:52 +0200)]
scrolledwindow: reset more Indicator state on ::unmap
If a GtkScrolledWindow is just unmapped and promptly mapped again, the
indicators are left in a semi-visible state, so the GdkWindow isn't raised
properly above scrolledwindow content. This inconsistent state went away
the next time the indicator is hidden.
So, reset all state about indicator window visibility, animation
progress and conceil timer on ::unmap, this will be enough to make the
indicators start out hidden like on newly created scrolledwindows.
Krzesimir Nowak [Fri, 22 May 2015 12:39:53 +0000 (14:39 +0200)]
gdk: Fix a typo
Matthias Clasen [Fri, 22 May 2015 10:56:23 +0000 (06:56 -0400)]
Fix primary monitor determination with XRANDR 1.5
This was an oversight in the previous patch.
Dave Airlie [Mon, 2 Feb 2015 06:02:04 +0000 (16:02 +1000)]
gtk3: add randr 1.5 monitor support
This patch introduces support for using the newly introduced
monitor objects in the XRandR protocol. These objects are meant
to be used to denote a set of rectangles representing a logical
monitor, and are used to hide details like monitor tiling and
virtual gpu outputs.
This uses the new objects instead of crtc/outputs objects when
they are available to create the monitor lists. X server 1.18
is required on the server side for randr 1.5.
https://bugzilla.gnome.org/show_bug.cgi?id=749561
Carlos Garnacho [Thu, 21 May 2015 12:16:13 +0000 (14:16 +0200)]
iconview: Avoid usage of gdk_window_get_device_position() during DnD
Just use the last coordinates given on XdndPosition/drag_motion() in
order to trigger scrolling.
When running on Xwayland, the pointer position is unknown at this
stage on the X11 side, so the coordinates given here are bogus.
This change avoids both roundtrips and this situation.
https://bugzilla.gnome.org/show_bug.cgi?id=749679
Carlos Garnacho [Thu, 21 May 2015 11:53:43 +0000 (13:53 +0200)]
treeview: Avoid usage of gdk_window_get_device_position() during DnD
Just use the last coordinates given on XdndPosition/drag_motion() in
order to trigger scrolling.
When running on Xwayland, the pointer position is unknown at this
stage on the X11 side, so the coordinates given here are bogus.
This change avoids both roundtrips and this situation.
https://bugzilla.gnome.org/show_bug.cgi?id=749679
Carlos Garnacho [Thu, 21 May 2015 09:58:11 +0000 (11:58 +0200)]
textview: Avoid usage of gdk_window_get_device_position() during DnD
Just use the last coordinates given on XdndPosition/drag_motion() in
order to trigger scrolling.
When running on Xwayland, the pointer position is unknown at this
stage on the X11 side, so the coordinates given here are bogus.
This change avoids both roundtrips and this situation.
https://bugzilla.gnome.org/show_bug.cgi?id=749679
Chun-wei Fan [Wed, 20 May 2015 09:36:15 +0000 (17:36 +0800)]
gtk3-demo: Fix Visual Studio Builds
Add the new cursors demo to the projects, so that gtk-demo will properly
build.
Руслан Ижбулатов [Wed, 13 May 2015 07:45:40 +0000 (07:45 +0000)]
GDK: Add cursor theme support to W32 backend
Load themed cursors from the same places they are loaded on freedesktop systems,
but use W32 API functions to do so (works for .cur/.ani cursors instead of X
cursors).
Refactor the code for cursor handling. Prefer loading cursors by name.
Do not load actual cursors when loading the theme. Find the files and remember
the arguments/calls for loading them instead. Keeping HCURSOR instance in the
hashmap would result in multiple GdkCursors using the same HCURSOR. Given that
we use DestroyCursor() to off them, this would cause problems (at the very
least - DestroyCursor() would fail).
Store GdkCursor instances in a cache. Update cached cursors when theme changes.
Recognize "system" theme as a special (and default) case. When it is set,
prefer system cursors and fall back to Adwaita cursors and (as a last resort)
built-in X cursors. Otherwise prefer theme cursors and fall back to system and
X cursors.
Force GTK to use "left_ptr" cursor when no cursor is set. Using NULL makes
it use the system default "arrow", which is not the intended behaviour when
a non-system theme is selected.
Ignore cursor size setting and query the OS for the required cursor size, as
Windows (almost) does not allow setting cursors of arbitrary size.
https://bugzilla.gnome.org/show_bug.cgi?id=749287
Руслан Ижбулатов [Sun, 3 May 2015 21:29:35 +0000 (21:29 +0000)]
GDK: Use GdkCursor objects to keep track of W32 cursors, not HCURSOR
In particular this means that cursors are disposed of by the way of
g_object_unref(), not DestroyCursor (which is documented to not to be
used on certain kinds of cursors, and we can't tell which is which).
It should also alleviate any concerns about destroying cursors that
are still in use by other windows, except for cases where we would
somehow get our hands on a HCURSOR that someone else is using and we
make a GdkCursor out of it and later unref and finalize it while it
is still in use.
It also removes the need to call CopyCursor(), which makes animated
cursors into non-animated ones as a side-effect (supposed to be a bug,
but try explaining that to MS). Now cursors should be animated (if
the are set up as such in the OS).
https://bugzilla.gnome.org/show_bug.cgi?id=697477
Jonas Ådahl [Mon, 18 May 2015 08:38:34 +0000 (16:38 +0800)]
wayland: Use on globals closure for loading cursor themes
Instead of putting a 'load cursor themes' call when receiving an wl_shm
global, make it a closure that is prepared during initialization.
https://bugzilla.gnome.org/show_bug.cgi?id=719819
Jonas Ådahl [Mon, 18 May 2015 06:55:08 +0000 (14:55 +0800)]
wayland: Add global object depedency tracking
Some features need certain globals to initialize. In order to deal with
these dependencies, add a way to postpone closures that depend on a
certain set of globals, that later will be invoked when required
globals are all received.
https://bugzilla.gnome.org/show_bug.cgi?id=719819
Jonas Ådahl [Mon, 18 May 2015 08:02:45 +0000 (16:02 +0800)]
wayland: Don't round trip recursively during initialization
Instead use asynchronous round trips that is synchronized in the end of
the initialization. This makes it easier to track state, as we won't
dispatch arbitrary Wayland messages while processing globals.
https://bugzilla.gnome.org/show_bug.cgi?id=719819
Dušan Kazik [Tue, 19 May 2015 07:18:55 +0000 (07:18 +0000)]
Updated Slovak translation
Jonas Ådahl [Mon, 18 May 2015 03:19:14 +0000 (11:19 +0800)]
GtkWindow: Don't assume no shadow width even when not supported
Even if a window doesn't support client side shadow
(gtk_window_supports_client_shadow returns FALSE), don't assume the
shadow width is zero, as CSD may have been enabled anyway (meaning
priv->client_decorated is TRUE). In that case we still need to report
the correct width.
https://bugzilla.gnome.org/show_bug.cgi?id=749451
Marek Černocký [Sun, 17 May 2015 08:33:31 +0000 (10:33 +0200)]
Updated Czech translation
Matthias Clasen [Sun, 17 May 2015 03:55:09 +0000 (23:55 -0400)]
Don't force an icon window
We were inadvertently forcing the use of an icon window
in all cases. This patch makes it so that we once again
use a combined cursor when possible.
Matthias Clasen [Sat, 16 May 2015 22:04:40 +0000 (18:04 -0400)]
Remove some useless comments
Matthias Clasen [Sat, 16 May 2015 21:54:01 +0000 (17:54 -0400)]
DND: Move private api to a private header
Matthias Clasen [Sat, 16 May 2015 21:26:45 +0000 (17:26 -0400)]
Remove multi-screen handling in DND code
We only have one screen nowadays. No need to carry around
code for handling screen changes.
Pietro Gagliardi [Thu, 14 May 2015 20:45:01 +0000 (16:45 -0400)]
Implemented most of the GDK named cursors on Mac OS X.
Only "wait" and "all-scroll" are not implemented properly. OS X does not
seem to have a proper interface to either cursor. Approximations are used
instead; see the code.
See bug 749178.
Matthias Clasen [Sat, 16 May 2015 04:47:57 +0000 (00:47 -0400)]
GtkQuery: Drop unused mimetype functions
These are not used, so drop them.
Matthias Clasen [Sat, 16 May 2015 04:45:25 +0000 (00:45 -0400)]
GtkQuery: Cleanups
Strip leading underscores from GtkQuery api, and
clean up the sources a bit.
Matthias Clasen [Sat, 16 May 2015 04:38:21 +0000 (00:38 -0400)]
GtkFileChooser: Show remote search results too
There is no reason not to show them. Removing this
makes search on remote locations just work.
Matthias Clasen [Sat, 16 May 2015 04:37:07 +0000 (00:37 -0400)]
Rewrite search to be more similar to nautilus
The main advantage here is that this code works for remote
locations as well.
Cédric Valmary [Fri, 15 May 2015 16:13:45 +0000 (16:13 +0000)]
Updated Occitan translation
Piotr Drąg [Fri, 15 May 2015 15:56:44 +0000 (17:56 +0200)]
Updated Polish translation
Kjell Ahlstedt [Fri, 15 May 2015 13:39:04 +0000 (15:39 +0200)]
gtkwindow: Fix a memory leak
The private data GtkGesture* drag_gesture was added by commit
13e22e20300b7312e52bba7d077fc7e231695fc1, but it's never destroyed.
Unref it in gtk_window_finalize().
https://bugzilla.gnome.org/show_bug.cgi?id=749425
Matthias Clasen [Thu, 14 May 2015 19:26:56 +0000 (15:26 -0400)]
Add a main category to desktop files
This makes desktop-file-validate happy.
Emmanuele Bassi [Thu, 14 May 2015 15:56:00 +0000 (16:56 +0100)]
Amend deprecation warnings for GtkStyle API
Not everything has a replacement in the API, as the drawing model
changed considerably; nevertheless, this should help out developers
porting from the deprecated GtkStyle API.
Kjartan Maraas [Thu, 14 May 2015 14:55:29 +0000 (16:55 +0200)]
Updated Norwegian bokmål translation.
Marco Trevisan (Treviño) [Thu, 7 May 2015 09:49:54 +0000 (11:49 +0200)]
configure.ac: Pull gio-unix dependency for all unix builds
It's now needed by gtk-launch, so it's just the case to enable it for all the
builds except the win32 one, instead of adding it for every unix backend.
https://bugzilla.gnome.org/show_bug.cgi?id=744086
Yosef Or Boczko [Wed, 13 May 2015 20:06:54 +0000 (23:06 +0300)]
Updated Hebrew translation
Marek Kasik [Fri, 11 Jul 2014 09:33:30 +0000 (11:33 +0200)]
printing: Check connection to remote CUPS server on correct port
Add parameter for specification of port to gtk_cups_connection_cups_new().
Use default port returned by ippPort() if the given port is lower than 0.
https://bugzilla.gnome.org/show_bug.cgi?id=693738
Benjamin Otte [Tue, 12 May 2015 16:27:19 +0000 (18:27 +0200)]
box: Fix RTL styling
Matthias Clasen [Tue, 12 May 2015 12:24:52 +0000 (08:24 -0400)]
GtkPrintUnixDialog: Avoid deprecated properties
Not needed here at all.
Matthias Clasen [Tue, 12 May 2015 12:22:56 +0000 (08:22 -0400)]
GtkPageSetupUnixDialog: Avoid deprecated properties
Not needed at all.
Matthias Clasen [Tue, 12 May 2015 12:20:35 +0000 (08:20 -0400)]
gtk3-demo: Add a page setup example
This mainly so I can fix deprecation warnings in the
page setup dialog.
Matthias Clasen [Tue, 12 May 2015 11:57:04 +0000 (07:57 -0400)]
GtkPopover: Clean up default widget on dispose
We forgot to drop the ref we take. Thankfully our
tests caught this.
Matthias Clasen [Tue, 12 May 2015 11:44:44 +0000 (07:44 -0400)]
Docs: Typo fix
Matthias Clasen [Tue, 12 May 2015 11:44:21 +0000 (07:44 -0400)]
Fix a11y tests
The output of the about dialog test is affected by the keynav
fixes.
Matthias Clasen [Tue, 12 May 2015 11:40:47 +0000 (07:40 -0400)]
Quiet the bitmask test
Don't spew so many 0s and 1s.
Ting-Wei Lan [Tue, 12 May 2015 02:23:59 +0000 (10:23 +0800)]
Fix return value error in gtk_font_chooser_get_font_map
https://bugzilla.gnome.org/show_bug.cgi?id=749248
Matthias Clasen [Tue, 12 May 2015 03:06:50 +0000 (23:06 -0400)]
gtk-demo: Don't rely on gdk_cursor_get_image
This function is only implemented on X11. Instead,
just use a fixed set of cursor images from resources.
Matthias Clasen [Sun, 10 May 2015 03:53:45 +0000 (23:53 -0400)]
quartz: Support css cursor names
We want these to work across platforms, so do a best-effort
approximation. We could do much better here by copying what
webkit does.
https://bugzilla.gnome.org/show_bug.cgi?id=749178
Matthias Clasen [Tue, 12 May 2015 02:13:07 +0000 (22:13 -0400)]
Avoid a critical under weston
The ordering of globals in connection setup under weston
is different from mutter, and we end up creating a the
dnd window before any outputs are present. Don't cause
a critical warning in that case.
Matthias Clasen [Tue, 12 May 2015 00:03:08 +0000 (20:03 -0400)]
GtkFontChooser: Refine 'no matches' pages
Use a better icon, and put the text below.
Matthias Clasen [Mon, 11 May 2015 23:44:30 +0000 (19:44 -0400)]
GtkFileChooser: Refine 'no matches' page
Use a better icon, and put the text below.
Lars Uebernickel [Fri, 10 Apr 2015 15:18:50 +0000 (17:18 +0200)]
Allow overriding WM_CLASS from the command line
Even when the program itself calls gdk_set_program_class(). There's
currently no way for this function to be called without breaking gdk's
--class command line option, because you cannot call it before
gtk_init().
https://bugzilla.gnome.org/show_bug.cgi?id=747634
Matthias Clasen [Mon, 11 May 2015 01:01:47 +0000 (21:01 -0400)]
gtk-demo: Port builder example away from GtkUIManager
This makes gtk3-demo deprecation-free.
Matthias Clasen [Mon, 11 May 2015 01:00:08 +0000 (21:00 -0400)]
gtk-demo: Remove an unncessary define
The changedisplay example no longer uses and deprecated
API, so don't disable deprecations.
Cédric Valmary [Sun, 10 May 2015 19:44:36 +0000 (19:44 +0000)]
Updated Occitan translation
Matthias Clasen [Sun, 10 May 2015 19:37:47 +0000 (15:37 -0400)]
Forgotten file
Piotr Drąg [Sun, 10 May 2015 16:10:11 +0000 (18:10 +0200)]
Updated POTFILES.in
Matthias Clasen [Sun, 10 May 2015 06:35:52 +0000 (02:35 -0400)]
GtkAdjustment: Deprecate some redundant API
Both gtk_adjustment_changed and gtk_adjustment_value_changed
are unnecessary every since we've sealed the GtkAdjustment
struct.
https://bugzilla.gnome.org/show_bug.cgi?id=619493
Matthias Clasen [Sun, 10 May 2015 06:35:07 +0000 (02:35 -0400)]
GtkIconView: Stop using gtk_adjustment_changed
This should not be needed at all.
Matthias Clasen [Sun, 10 May 2015 06:34:33 +0000 (02:34 -0400)]
GtkSpinButton: Stop using gtk_adjustment_value_changed
This is just an unnecessary indirection.
Matthias Clasen [Sun, 10 May 2015 06:10:21 +0000 (02:10 -0400)]
Trivial formatting fixes
Matthias Clasen [Sun, 10 May 2015 05:30:38 +0000 (01:30 -0400)]
input methods: Add a 'vertical text' hint
This has been requested in
https://bugzilla.gnome.org/show_bug.cgi?id=747150
Matthias Clasen [Sun, 10 May 2015 05:05:52 +0000 (01:05 -0400)]
Revert "Work around a pkg-config bug"
This reverts commit
57751fa391fce8b9f208c41260e8968dd4cdc800.
I've been told that this is not, in fact, a pkg-config bug,
but a pkg-config feature.
Philip Chimento [Thu, 9 Apr 2015 06:31:51 +0000 (23:31 -0700)]
quartz: Non-implementation of GdkGLContext
This makes sure the Quartz backend returns an error when asked to create
a GL context, rather than crashing because of a NULL vfunc.
https://bugzilla.gnome.org/show_bug.cgi?id=740199
Balázs Meskó [Sat, 9 May 2015 12:44:41 +0000 (12:44 +0000)]
Updated Hungarian translation
Gábor Kelemen [Sat, 9 May 2015 12:43:46 +0000 (12:43 +0000)]
Updated Hungarian translation
Alexandre Franke [Sat, 9 May 2015 09:49:18 +0000 (09:49 +0000)]
Updated French translation
Alexandre Franke [Sat, 9 May 2015 08:31:37 +0000 (08:31 +0000)]
Updated French translation
Matthias Clasen [Sat, 9 May 2015 06:18:01 +0000 (02:18 -0400)]
Font chooser: Hide size controls with 'no match'
The preview entry previews a font despite there being
no results, that makes no sense.
Matthias Clasen [Sat, 9 May 2015 06:06:28 +0000 (02:06 -0400)]
Font chooser: Nice 'not found' message
This copies the style that is used in the file chooser
now.
Matthias Clasen [Sat, 9 May 2015 05:58:32 +0000 (01:58 -0400)]
Font chooser: Also apply font map to preview
Otherwise, the preview is not showing a selected custom font.
Matthias Clasen [Fri, 8 May 2015 18:21:11 +0000 (14:21 -0400)]
docs: Show less ugly X cursors
Don't list examples in the gdk_cursor_new_for_display() docs,
since we now have a list of recommended names for the
from_name() call.
Matthias Clasen [Fri, 8 May 2015 17:19:14 +0000 (13:19 -0400)]
gtk-demo: Drop cursor name fallback code
GdkCursor itself will now do whats necessary to support these
names.
Matthias Clasen [Fri, 8 May 2015 13:55:28 +0000 (09:55 -0400)]
Update docs
Matthias Clasen [Fri, 8 May 2015 13:38:56 +0000 (09:38 -0400)]
Wayland: Make css cursor names work
Map css cursor names to traditional X cursor names to increase
our chance of finding a good cursor in the cursor theme.
Matthias Clasen [Fri, 8 May 2015 13:37:39 +0000 (09:37 -0400)]
X11: Make css cursor names work
Map css cursor names to traditional X cursor names to increase
our chance of finding a good cursor in the cursor theme.
Matthias Clasen [Fri, 8 May 2015 13:00:15 +0000 (09:00 -0400)]
Wayland: trivial reshuffle
Avoid a forward declaration by moving things around.
Lionel Landwerlin [Sun, 3 May 2015 10:38:45 +0000 (11:38 +0100)]
gdk: define GdkRectangle structure for introspection scanning
https://bugzilla.gnome.org/show_bug.cgi?id=748833
Sjoerd Simons [Wed, 6 May 2015 10:39:14 +0000 (12:39 +0200)]
notify test: Don't test object relying on dbus connections
Don't test types that rely on a pre-existing dbus session bus.
https://bugzilla.gnome.org/show_bug.cgi?id=749009
Matthias Clasen [Fri, 8 May 2015 02:36:00 +0000 (22:36 -0400)]
GtkRecentChooser: Use a better busy cursor
Matthias Clasen [Fri, 8 May 2015 02:24:19 +0000 (22:24 -0400)]
GtkPrintUnixDialog: Use a better busy cursor
Matthias Clasen [Fri, 8 May 2015 02:07:41 +0000 (22:07 -0400)]
GtkProgressBar: Adjust docs to new style
Don't talk about superimposed text, since we don't do that
anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=748784
Matthias Clasen [Fri, 8 May 2015 00:01:14 +0000 (20:01 -0400)]
gtk3-demo: Add a cursors demo
Matthias Clasen [Thu, 7 May 2015 22:29:04 +0000 (18:29 -0400)]
testgtk: Add new Adwaita cursor names
Matthias Clasen [Thu, 7 May 2015 22:28:39 +0000 (18:28 -0400)]
GtkFontChooser: Use a GtkStack
Garrett Regier [Wed, 6 May 2015 05:24:16 +0000 (22:24 -0700)]
GtkFontChooserWidget: Remove unused struct field
This was added accidentally in a recent patch.
Signed-off-by: Garrett Regier <garrettregier@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=748992
Jonas Ådahl [Thu, 7 May 2015 15:06:32 +0000 (23:06 +0800)]
GtkWindow: Manually set CSD should enable shadow width calculation
If CSD is enabled with shadow even though it "shouldn't"*, the width
should still be calculated correctly. This fixes a regression caused by
b1e5ad469c753ea3eed967056ca814ecb0117c7b.
* gtk_window_should_use_csd () returns false
https://bugzilla.gnome.org/show_bug.cgi?id=748615
Petr Kovar [Thu, 7 May 2015 14:19:05 +0000 (16:19 +0200)]
Update Czech translation
Debarshi Ray [Wed, 6 May 2015 13:19:55 +0000 (15:19 +0200)]
GtkStack: Don't emit notify::visible-child during destruction
https://bugzilla.gnome.org/show_bug.cgi?id=749012
Matthias Clasen [Thu, 7 May 2015 11:32:40 +0000 (07:32 -0400)]
GtkFontChooser: Add an example to the docs
Matthias Clasen [Tue, 5 May 2015 03:21:17 +0000 (23:21 -0400)]
GtkFontChooser: Allow a custom font map
This lets applications show their own fonts instead of
or in addition to system fonts.
https://bugzilla.gnome.org/show_bug.cgi?id=748771
Jakub Steiner [Thu, 7 May 2015 08:16:46 +0000 (10:16 +0200)]
Adwaita: tone down popover dropshadow
Debarshi Ray [Wed, 6 May 2015 14:53:43 +0000 (16:53 +0200)]
GtkStackSwitcher: Don't emit notify::visible-child when setting a stack
Synchronizing the visible child with the switcher's toggle buttons can
lead to GtkButton::clicked being emitted twice. Once for the button
that was active before, and once for the button that we just activated.
This leads to notify::visible-child being called twice and one of
them is with the wrong child.
Let's deal with this in the same way we handle the visible child
changing underneath us.
https://bugzilla.gnome.org/show_bug.cgi?id=749021
William Hua [Wed, 6 May 2015 14:27:03 +0000 (10:27 -0400)]
mir: handle generic input events
Jonas Ådahl [Wed, 29 Apr 2015 07:08:44 +0000 (15:08 +0800)]
GtkWindow: Get the correct shadow width even before window is realized
The window state 'client_decorated' will only be set the window is being
realized. If anyone tries to get the shadow size before that it'd get
the with as if there always was no shadow.
This avoids negative sized opaque regions caused by the allocation being
smaller than shadow.
https://bugzilla.gnome.org/show_bug.cgi?id=748615
Yuri Myasoedov [Wed, 6 May 2015 10:38:01 +0000 (13:38 +0300)]
Fixed Russian translation
Christian Hergert [Tue, 5 May 2015 19:19:10 +0000 (12:19 -0700)]
inspector: allow object read-only properties in prop-editor
If we have a GObject property that is also a GObject, we should be able
to view additional information on that object (even if the param spec
is read-only).
Matthias Clasen [Wed, 6 May 2015 04:52:23 +0000 (00:52 -0400)]
GtkFontChooserWidget: Listen for fontconfig changes
We were relying on indirectly getting notify when fontconfig
configuration changes, by GtkSettings translating the timestamp
change into a style-invalidation, which gets fed through the
css invalidation machinery. That machinery has gotten good enough
at optimizing away redundant changes that it no longer emits
::style-updated in this case.
So, instead make the font chooser listen directly to what it
cares about: the fontconfig change notification from GtkSettings.
Emmanuele Bassi [Mon, 4 May 2015 12:28:14 +0000 (13:28 +0100)]
settings: Wayland-only systems also use fontconfig
We're relying on the X11 backend being compiled in, but that may not be
the case.
https://bugzilla.gnome.org/show_bug.cgi?id=748782
Emmanuele Bassi [Mon, 4 May 2015 12:25:27 +0000 (13:25 +0100)]
fontchooser: Use gtk-fontconfig-timestamp setting
We can use the GtkSettings:gtk-fontconfig-timestamp property to decide
whether or not we should reload fonts on style and screen changes. This
should avoid doing a lot of work with large font collections when only
the theme has changed.
https://bugzilla.gnome.org/show_bug.cgi?id=748782